[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
REPORT FORM Anomalies with Report forms.
Clipper Version 1.03 dtd 09/15/90.
Problem Statement
1) REPORT FORM will not display character report fields which are
4 or less characters, unless the field width is set to five.
2) The expression *** Total *** is appended to a report containing
numeric fields, whether or not totals are requested. If group
action is elected, ** Subtotal ** and * Subsubtotal * will
show in the report, whether or not totals are requested.
3) REPORT FORM will not print a report which does not contain at
least one character field.
Cause
1) FRMRUN.PRG. MLCOUNT() and MEMOLINE() do not work with a linelength
parameter less than 4.
2) FRMRUN.PRG programming error.
3) FRMRUN.PRG programming error.
Work Around(s)
1) Set report field width to 5 for character fields less than 5
characters OR re-program FRMRUN.PRG as follows:
XMEMOLINE Function:
IF nLineLength < 5
RETURN ( SUBSTR(cString, nLineLength * (nLineNumber-1) + 1,;
nLineLength) )
ELSE
RETURN( MEMOLINE( cString, nLineLength, nLineNumber, nTabSize,
lWrap ) )
ENDIF
XMLCOUNT Function:
IF nLineLength < 5
RETURN ( INT(LEN(cString) / nLineLength) + ;
IF( LEN(cstring) % nLineLength == 0, 0, 1 ) )
ELSE
RETURN( MLCOUNT( cString, nLineLength, nTabSize, lWrap ) )
ENDIF
2) Define a STATIC variable, say totalflag. Set this flag to .F. in
the __ReportForm function, after the LOCAL statements. Reset this
flag in the "// Column total elements" loop:
IF aReportData[RP_COLUMNS,nCol,RC_TOTAL] // reference
totalflag := .t. // add
FOR nGroup := 1 TO LEN(aReportTotals) // reference
and apply this flag as desired throughout the program. Compile
and link with your programs requiring this function.
3) Modify FRMRUN.PRG, about line 380, as follows:
// Only run through the record detail if this is NOT a summary report
IF !aReportData[ RP_SUMMARY ]
// Determine the max number of lines needed by each expression
nMaxLines := 1 // Changed from 0 to 1.
FOR nCol := 1 TO LEN(aReportData[RP_COLUMNS])
....
See Also:
NOCONSOLE
SET CONSOLE
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson